package com.itheima.d5_polymorphic.demo5;

/**
 * 多态综合案例：
 * 使用面向对象编程模拟：设计一个电脑对象，可以安装2个USB设备
 * 鼠标：被安装时可以完成接入、调用点击功能、拔出功能。
 * 键盘：被安装时可以完成接入、调用打字功能、拔出功能
 */
public class Demo {
	public static void main(String[] args){
		//1.鼠标和USB没有is a的关系，键盘和USB也没有is a的关系，所以这里直接排除继承！我们使用接口制定规范
		//定义一个USB接口，制定所有的具有USB的设备都可以拥有接入、拔出功能！

		//2.定义鼠标、键盘类，实现USB接口

		//3.定义电脑类，电脑类有方法，既可以使用鼠标，也可以使用键盘！这里可以将方法形参声明成USB接口类型（运用多态）

		//4.测试：创建电脑对象、键盘对象、鼠标对象，调用电脑的方法测试
		//Computer computer = new Computer();

		Mouse mouse = new Mouse();
		Keyboard keyboard = new Keyboard();
		//computer.useUSB(mouse);
		Computer.useUSB(mouse);

		System.out.println("----------------");
		//computer.useUSB(keyboard);
		Computer.useUSB(keyboard);

	}
}
